package com.cc.data_explore.gui.helper;

import javafx.stage.Stage;

import java.util.HashMap;
import java.util.Map;

/**
 * 该类是一个工具类，用于管理 JavaFX 的 Stage 对象。
 * 它使用一个静态的 Map 来存储 Stage 对象，通过键值对的方式进行管理。
 *
 * @author cc
 * @version 1.0
 * @since 2025/3/27
 */
public class StageHelper {

    public static final String MAIN_STAGE = "mainStage";

    private static final Map<String, Stage> STAGE_MAP = new HashMap<>();

    /**
     * 向 STAGE_MAP 中添加一个 Stage 对象。
     *
     * @param key   用于标识 Stage 的键，通常是一个唯一的字符串。
     * @param stage 要添加的 Stage 对象。
     */
    public static void addStage(String key, Stage stage) {
        STAGE_MAP.put(key, stage);
    }

    /**
     * 根据键从 STAGE_MAP 中获取一个 Stage 对象。
     *
     * @param key 用于查找 Stage 的键。
     * @return 如果找到对应的 Stage，则返回该 Stage 对象；否则返回 null。
     */
    public static Stage getStage(String key) {
        return STAGE_MAP.get(key);
    }

    public static void removeStage(String key) {
        System.out.println(key);
        STAGE_MAP.remove(key);
    }
}
